In a modern information processing environment, transactional data is often generated in the course of normal operations. With the advent of ever increasing storage capacity and processing resources, such transactional data has the potential to become large and cumbersome, as additional information and audit trail capability is sought. In a storage area network (SAN), for example, a management application generates transactions corresponding to operational data such as storage used, storage available, frequency of access, queue depths, and other statistical information. This statistical information is valuable from a diagnostic and maintenance perspective to identify areas of potential backlog and pinpoint performance shortfalls.
Statistical information gathered from the SAN is useful in several contexts, such as forecasting future trends, tracking usage, and planning capital expenditures. Often, the transactional data is stored in a relational database for query and reporting capability. Relational databases have gained popularity for storing transactional data gathered from an information processing system. More recently, so-called multidimensional databases have provided a mechanism for storing and querying transactional data according to many attributes, or dimensions, such as time, location, product, department, and any combination, permutation, and/or subdivision thereof. While flexible, such multidimensional databases, also known as OnLine Analytical Processing (OLAP) systems, tend to be computation and storage intensive. A modern OLAP system has the potential to generate huge quantities of queryable data, and enables complex queries that require substantial computational resources.
In such OLAP systems, as in relational databases (often the underlying storage mechanism in OLAP systems), data is stored in tables having associations to other tables. A conventional query processor processes requests for information by performing database operations, such as selections, view, and join operations which traverse the associations between tables and retrieve the requested information. In a large database, having many interrelated tables and fields (attributes), a query may specify a large number of field, tables, and operations. Conventional queries often employ a standard syntax, such as the Structured Query Language (SQL), for specifying each particular query.
A conventional large managed information environment, such as a storage area network (SAN), accumulates many transactions resulting from ongoing operation of the system. These transactions represent the usage and throughput of the system as entries in various database tables. In the storage area network, these transactions are the result of data access requests and associated operations among the manageable entities in the storage area network. The transactions are stored in a large database operable to provide configuration and management control of the manageable entities in the SAN. A conventional network storage management application also queries this database for diagnostic and preventative matters such as providing feedback, monitoring past throughput, and identifying resource utilization, bottlenecks, and performance shortfalls.